home *** CD-ROM | disk | FTP | other *** search
/ The Universe Beyond / The Universe Beyond (Mindscape).ISO / install / tub.inf < prev   
INI File  |  1996-10-14  |  35KB  |  1,224 lines

  1. DefineVariables
  2.   Text          [ProductName]           := The Universe Beyond
  3.   Text          [AbbreviatedName]       := TUB
  4.   Text          [MainExeName]           := TUB.EXE
  5.   Text          [MainExeName32]         := TUB32.EXE
  6.   Text          [ProductVersion]        := 1.0.0
  7.   Text          [RegistryFileName]      := TUB.RGS
  8.   Text          [MindscapeIniFile]      := MINDSCPE.INI
  9.   Text          [ProductIniFile]        := TUB.INI
  10.   Text          [ProgGrpName]           := The Universe Beyond
  11.   Text          [IconName]              := TUB.ICO
  12.   Text          [UninstIconName]        := TUBX.ICO
  13.   Text          [BitmapName]            := INSTALL.BMP
  14.   Directory     [DefaultDestDir]        := TUB
  15.   Text          [DefaultDestDir95]      := Program Files\Mindscape\TUB
  16.  
  17.   Logical       [HaveRoot]              := N
  18.   Directory     [RootDir]               := 
  19.   Directory     [BaseDir]               := 
  20.  
  21.   Directory     [SetupDir]              := SETUP
  22.   Directory     [SourceDir]             := ASTRO
  23.   Directory     [TheSkyDir]             := THESKY
  24.   Logical       [Maximum]               := N
  25.   Logical       [Normal]                := N
  26.   Logical       [Minimum]               := N
  27.   Logical       [IsWin95]               := N
  28.   Logical       [IsWinNT]               := N
  29.   Logical       [IsTheSky]              := N
  30.   Logical       [Root]                  := N
  31.   Text          [CurrentInstallOpt]
  32.   Text          [YES_text]              := OK
  33.   Text          [EXIT_text]             := Exit
  34.   Number        [FileSetSize]           := 0
  35.   Number        [MaximumSize]           := 25381670        ;; 25312590
  36.   Number        [NormalSize]            := 8734658        ;; 8665578
  37.   Number        [MinimumSize]           := 5035322        ;; 4966242
  38.   
  39.   Number        [TheSkyTotal]           := 6110168
  40.   Number        [TheSkyRoot]            := 2615423
  41.   Number        [TheSkyBmp]             := 1781561
  42.   Number        [TheSkyData]            := 1563319
  43.   Number        [TheSkyHelp]            := 149865
  44.   
  45.   Number        [Uninstall32Size]       := 333786
  46.   Number        [Uninstall16Size]       := 1221384        ;; 755704 + 465680
  47.   Number        [VFWSize]               := 2000000
  48.   Number        [Continue]              := 1012
  49. EndDefineVariables
  50. ;;-------------------- BEGIN MAIN -----------------------------
  51. SetDefaultBitmap Off
  52. SetInstallModeTo Install
  53. SetTraceMode Off
  54. SetExitConfirmationPrompt off
  55. SetReplacementInquiry Off
  56. SetPopupBorderTo double
  57. SetPopupAttrTo BlackOnLightGray
  58. SetTopLineTo [ProductName] Install
  59.  
  60.  
  61. Do WhichWindows
  62.  
  63. If [IsWin95]
  64.    Do Windows95_INSTALL
  65. Else
  66.    Do WIN31_INSTALL
  67. EndIf
  68.  
  69. Do SignOff
  70. ClearScreen
  71. UnloadBitmap 1
  72.    
  73. If [IsWin95]
  74.    ChangeDirectoryTo [InstallationDirectory]
  75.    Run [InstallFromDrive]:\[RootDir][SetupDir]\AUTORN32.EXE nowait
  76.    Delay 1000
  77. EndIf
  78.  
  79. :EXIT
  80. SoLong Quietly
  81.  
  82. ;;--------------------- END MAIN ------------------------------------------
  83. Procedure Windows95_INSTALL
  84.    Do DisplayLogo
  85.    Do GetInstallOptions
  86.    Do INSTALL
  87.    Do AskForTheSky
  88.    Do CreateProgramGroup
  89.    Do InstallFonts
  90.    Do WriteInstallInfoToIni
  91.    Do RunRegistry
  92. ;;;   UnloadBitmap 1
  93.    Do VFWCheck
  94. EndProcedure
  95.  
  96. Procedure WIN31_INSTALL
  97.    Do DisplayLogo
  98.    Delay 1000
  99.    Do GetInstallOptions
  100.    Do INSTALL
  101.    Do AskForTheSky
  102.    Do CreateProgramGroup
  103.    Do InstallFonts
  104.    Do MindscapeIni
  105.    Do EditAutorunIni
  106.    Do WriteInstallInfoToIni
  107. ;;;   UnloadBitmap 1
  108.    Do VFWCheck
  109. EndProcedure
  110.  
  111. ;;------------------------- END MAIN ----------------------------------------
  112. ;;------------------------- BEGIN INSTALL PROCEDURE -------------------------
  113.  
  114. Procedure INSTALL
  115.    ClearScreen
  116.    SetCopyAttrTo 00
  117.  
  118.    If DirectoryExists [InstallationDirectory]\MEDIA
  119.       DeleteFiles from [InstallationDirectory]\MEDIA
  120.         *.*
  121.       EndDeleteFiles
  122.    EndIf
  123.  
  124.    If [Minimum]
  125.       CopyFiles from [InstallFromDrive]:\[RootDir][SourceDir] to [InstallationDirectory]\MEDIA [MinimumSize]
  126.      COMMON\CAV1WAVE.BMA 
  127.      COMMON\CAV2WAVE.BMA 
  128.      COMMON\DEEPWAVE.BMA 
  129.      COMMON\GATEWAVE.BMA    
  130.      COMMON\LIBWAVE.BMA    
  131.      COMMON\SKY1WAVE.BMA    
  132.      COMMON\SKY2WAVE.BMA  
  133.      COMMON\CRTOON.BMA  
  134.      COMMON\PAGETURN.WAV  
  135.      COMMON\CONNECT.WAV  
  136.       EndCopyFIles
  137.    Endif
  138.  
  139.    If [Normal]
  140.       CopyFiles from [InstallFromDrive]:\[RootDir][SourceDir] to [InstallationDirectory]\MEDIA [NormalSize]
  141.      COMMON\CAV1WAVE.BMA 
  142.      COMMON\CAV2WAVE.BMA 
  143.      COMMON\DEEPWAVE.BMA 
  144.      COMMON\GATEWAVE.BMA    
  145.      COMMON\LIBWAVE.BMA    
  146.      COMMON\SKY1WAVE.BMA    
  147.      COMMON\SKY2WAVE.BMA  
  148.      COMMON\CRTOON.BMA  
  149.      COMMON\PAGETURN.WAV  
  150.      COMMON\CONNECT.WAV  
  151.      GATES\GXXXXENV.BMP  
  152.      GATES\GXXXXBLU.BMP  
  153.      CAVE\CXXXXENV.BMP
  154.      CAVE\CXXXXBLU.BMP
  155.      DEEP\DXXXXENV.BMP
  156.      DEEP\DXXXXBLU.BMP
  157.      LIB\LXXXXENV.BMP
  158.      LIB\LXXXXBLU.BMP
  159.      SKY\S1XXXENV.BMP
  160.      SKY\S1XXXBLU.BMP
  161.      SKY\S2XXXENV.BMP
  162.      SKY\S2XXXBLU.BMP
  163.       EndCopyFIles
  164.    EndIf
  165.  
  166.    If [Maximum]
  167.       CopyFiles from [InstallFromDrive]:\[RootDir][SourceDir] to [InstallationDirectory]\MEDIA [MaximumSize]
  168.      COMMON\CAV1WAVE.BMA 
  169.      COMMON\CAV2WAVE.BMA 
  170.      COMMON\DEEPWAVE.BMA 
  171.      COMMON\GATEWAVE.BMA    
  172.      COMMON\LIBWAVE.BMA    
  173.      COMMON\SKY1WAVE.BMA    
  174.      COMMON\SKY2WAVE.BMA  
  175.      COMMON\CRTOON.BMA  
  176.      COMMON\PAGETURN.WAV  
  177.      COMMON\CONNECT.WAV  
  178.      GATES\GXXXXENV.BMP  
  179.      GATES\GXXXXBLU.BMP  
  180.      CAVE\CXXXXENV.BMP
  181.      CAVE\CXXXXBLU.BMP
  182.         CAVE\ANTHRO\C07XXINW.BMP
  183.         CAVE\ASTROLOG\C08XXREM.BMP
  184.         CAVE\CHAOS\C06XXINW.BMP
  185.         CAVE\HOLES\C05XXINW.BMP
  186.         CAVE\IMMORTAL\C02XXINW.BMP
  187.         CAVE\MAP\C01XXREM.BMP
  188.         CAVE\SPACE\C04XXINW.BMP
  189.         CAVE\TRUTH\C03XXINW.BMP
  190.      DEEP\DXXXXENV.BMP
  191.      DEEP\DXXXXBLU.BMP
  192.         DEEP\BETWEEN\D02XXREM.BMP
  193.         DEEP\BIGBANG\D01XXREM.BMP
  194.         DEEP\COLLIDE\D06XXREM.BMP
  195.         DEEP\DEATH\D08XXREM.BMP
  196.         DEEP\DEBRIS\D12XXREM.BMP
  197.         DEEP\EXTRASOL\D13XXREM.BMP
  198.         DEEP\GALAXIES\D09XXREM.BMP
  199.         DEEP\HALLEYS\D04XXREM.BMP
  200.         DEEP\HOLES\D07XXREM.BMP
  201.         DEEP\LIFE\D03XXREM.BMP
  202.         DEEP\NUBULAE\D10XXREM.BMP
  203.         DEEP\SCALE\D05XXREM.BMP
  204.         DEEP\STUFF\D11XXREM.BMP
  205.      LIB\LXXXXENV.BMP
  206.      LIB\LXXXXBLU.BMP
  207.         LIB\BRAHE\L10XXINW.BMP
  208.         LIB\CHALK\L01XXREM.BMP
  209.         LIB\CHARTS\NHEMAUT\L03DXREM.BMP
  210.         LIB\CLOCK\L08XXREM.BMP
  211.         LIB\COLLIDE\L18XXREM.BMP
  212.         LIB\COPERN\L09XXINW.BMP
  213.         LIB\DYNAMITE\L17XXREM.BMP
  214.         LIB\EINSTEIN\L14XXINW.BMP
  215.         LIB\EXPLORE\L19XXREM.BMP
  216.         LIB\FIRE\L04XXREM.BMP
  217.         LIB\GALILEO\L11XXINW.BMP
  218.         LIB\HAWKING\L16XXINW.BMP
  219.         LIB\HUBBLE\L15XXINW.BMP
  220.         LIB\KEPLER\L13XXINW.BMP
  221.         LIB\KIOSK\L07XXREM.BMP
  222.         LIB\NEWTON\L12XXINW.BMP
  223.         LIB\ORRERY\L02XXREM.BMP
  224.         LIB\PHOTOS\L20XXREM.BMP
  225.         LIB\PHYSICS\L06XXREM.BMP
  226.         LIB\URN\L05XXREM.BMP
  227.      SKY\S1XXXENV.BMP
  228.      SKY\S1XXXBLU.BMP
  229.      SKY\S2XXXENV.BMP
  230.      SKY\S2XXXBLU.BMP
  231.         SKY\EARTH\S04XXREM.BMP
  232.         SKY\JUPITER\S06XXREM.BMP
  233.         SKY\MARS\S05XXREM.BMP
  234.         SKY\MERCURY\S02XXREM.BMP
  235.         SKY\MILKYWAY\S12XXREM.BMP
  236.         SKY\MOON\S11XXREM.BMP
  237.         SKY\NEPTUNE\S09XXREM.BMP
  238.         SKY\PLUTO\S10XXREM.BMP
  239.         SKY\SATURN\S07XXREM.BMP
  240.         SKY\SCOPE\S13XXREM.BMP
  241.         SKY\SUN\S01XXREM.BMP
  242.         SKY\URANUS\S08XXREM.BMP
  243.         SKY\VENUS\S03XXREM.BMP
  244.       EndCopyFIles
  245.    EndIf
  246.  
  247. ;; Copy system specific files.
  248.  
  249.    If [IsWin95]     
  250.       CopyFiles from [InstallFromDrive]:\[RootDir] to [InstallationDirectory] [Uninstall32Size]
  251.      [SetupDir]\REGISTRY.EXE
  252.      [SetupDir]\UNINST.BMP
  253.      [SetupDir]\UNINST.EXE
  254.      [SetupDir]\UNINST.INF
  255.      MSREG\MSREG32.DLL
  256.      MSREG\MSRUN32.EXE 
  257.      MSREG\MSREG.INI
  258.      BIN\[IconName]
  259.      BIN\[UninstIconName]
  260.       EndCopyFIles
  261.  
  262.       ;; Rename MSRUN32 to MSRUN         
  263.       If FileExists [InstallationDirectory]\MSRUN32.EXE
  264.      If FileExists [InstallationDirectory]\MSRUN.EXE
  265.         DeleteFiles from [InstallationDirectory]
  266.           MSRUN.EXE
  267.         EndDeleteFiles
  268.      EndIf
  269.      RenameFile [InstallationDirectory]\MSRUN32.EXE to MSRUN.EXE
  270.       EndIf
  271.  
  272. ;;      If FileExists [WindowsSystemDirectory]\NEWAVE32.DLL
  273. ;;      Else
  274.      CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsSystemDirectory]  Quietly
  275.         NEWAVE32.DLL
  276.      EndCopyFiles
  277. ;;      EndIf
  278.       
  279. ;;      If FileExists [WindowsDirectory]\WAVEMIX.INI
  280. ;;      Else
  281.          CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsDirectory]  Quietly
  282.            WAVEMIX.INI
  283.          EndCopyFiles
  284. ;;      EndIf
  285.  
  286.      CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsDirectory] Quietly
  287.         [ProductIniFile]
  288.      EndCopyFiles   
  289.  
  290.    Else ;; Win3.1 specific install files
  291.  
  292.       CopyFiles from [InstallFromDrive]:\[RootDir] to [InstallationDirectory] [Uninstall16Size]
  293.      TUB.EXE
  294.      [SetupDir]\AUTORUN.BMP
  295.      [SetupDir]\AUTORUN.INI
  296.      [SetupDir]\AUTORN16.EXE
  297.      [SetupDir]\ARUN16.DLL
  298.      [SetupDir]\UNINST.BMP
  299.      [SetupDir]\UNINST.EXE
  300.      [SetupDir]\UNINST.INF
  301.      MSREG\MSREG16.DLL
  302.      MSREG\MSRUN16.EXE 
  303.      MSREG\MSREG.INI
  304.      BIN\[IconName]
  305.      BIN\[UninstIconName]
  306.       EndCopyFIles
  307.  
  308. ;;      If FileExists [WindowsSystemDirectory]\WAVEMIX.DLL
  309. ;;      Else
  310.      CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsSystemDirectory]  Quietly
  311.         WAVEMIX.DLL
  312.      EndCopyFiles
  313. ;;      EndIf
  314.  
  315.       ;; Rename MSRUN16 to MSRUN         
  316.       If FileExists [InstallationDirectory]\MSRUN16.EXE
  317.      If FileExists [InstallationDirectory]\MSRUN.EXE
  318.         DeleteFiles from [InstallationDirectory]
  319.           MSRUN.EXE
  320.         EndDeleteFiles
  321.      EndIf
  322.      RenameFile [InstallationDirectory]\MSRUN16.EXE to MSRUN.EXE
  323.       EndIf
  324.    EndIf
  325.  
  326. ;;   If FileExists [WindowsDirectory]\WAVEMIX.INI
  327. ;;   Else
  328.       CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsDirectory]  Quietly
  329.         WAVEMIX.INI
  330.       EndCopyFiles
  331. ;;   EndIf
  332.  
  333.    CopyFiles from [InstallFromDrive]:\[RootDir]BIN to [WindowsDirectory] Quietly
  334.       [ProductIniFile]
  335.    EndCopyFiles   
  336.  
  337. EndProcedure
  338. ;;-------------------------- END INSTALL PROCEDURE -------------------------
  339. ;;-------------------------APPEND REGISTRY INSTALL SCRIPT ----------------------------
  340.  
  341. Procedure AppendRegistryInstallScript
  342.    If [IsWin95]
  343.       [Dir1] := [DefaultDestDir95]
  344.    Else
  345.       [Dir1] := [InstallationDirectory]
  346.    EndIf
  347.  
  348.    [Dir2] := [InstallFromDrive]:
  349.  
  350.    If FileExists [InstallationDirectory]\[RegistryFileName]
  351.       DeleteFiles from [InstallationDirectory]
  352.     [RegistryFileName]
  353.       EndDeleteFiles
  354.    EndIf
  355.  
  356.    AppendFile [InstallationDirectory]\[RegistryFileName]
  357.      BEGIN REGISTRY
  358.      RegCreateKeyEx( HKEY_CLASSES_ROOT, "[AbbreviatedName]", 0, "[ProductName]", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hSubKey, &dwDisp )
  359.      RegSetValueEx( HANDLE, "", 0, REG_SZ, "[ProductName]", 25 );
  360.      RegCloseKey( HANDLE );
  361.      //Register 16x16,32x32 icons
  362.      RegCreateKeyEx( HKEY_CLASSES_ROOT, "[AbbreviatedName]\DefaultIcon", 0, "[ProductName]", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hSubKey, &dwDisp )
  363.      RegSetValueEx( HANDLE, "", 0, REG_SZ, "[Dir2]\[RootDir][MainExeName32]", 41 );
  364.      RegCloseKey( HANDLE );
  365.      // Register the program version under Mindscape
  366.      RegCreateKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\Mindscape\[AbbreviatedName]\", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hSubKey, &dwDisp )
  367.      RegSetValueEx( HANDLE, "", 0, REG_SZ, "[Dir1]", 37 );
  368.      RegCloseKey( HANDLE );
  369.      // Register the program executable
  370.      RegCreateKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\[MainExeName32]", 0, "[ProductName]", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hSubKey, &dwDisp )
  371.      RegSetValueEx( HANDLE, "", 0, REG_SZ, "[Dir2]\[RootDir][MainExeName32]", 37 );
  372.      RegCloseKey( HANDLE );
  373.      // Register uninstall stuff
  374.      RegCreateKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[AbbreviatedName]", 0, "", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hSubKey, &dwDisp )
  375.      RegSetValueEx( HANDLE, "DisplayName", 0, REG_SZ, "[ProductName] V[ProductVersion]", 45 );
  376.      RegSetValueEx( HANDLE, "UninstallString", 0, REG_SZ, "[Dir1]\UNINST.EXE UNINST.INF", 39 );
  377.      RegCloseKey( HANDLE );
  378.      END REGISTRY
  379.    EndAppendFile
  380. EndProcedure
  381.  
  382. ;;------------------------- END APPEND REGISTRY INSTALL SCRIPT ----------------------------
  383. ;;------------------------- APPEND REGISTRY UNINSTALL SCRIPT ----------------------------
  384.  
  385. Procedure AppendRegistryUninstallScript
  386.    If FileExists [InstallationDirectory]\U[RegistryFileName]
  387.       DeleteFiles from [InstallationDirectory]
  388.      U[RegistryFileName]
  389.       EndDeleteFiles
  390.    EndIf
  391.  
  392.    AppendFile [InstallationDirectory]\U[RegistryFileName]
  393.      BEGIN REGISTRY
  394.      RegDeleteKey( HKEY_CLASSES_ROOT, "[AbbreviatedName]" );
  395.      RegDeleteKey( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\[MainExeName32]" );
  396.      // This removes the uninstaller components from the registry
  397.      RegDeleteKey( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[AbbreviatedName]" );
  398.      // Remove the Mindscape product entry
  399.      RegDeleteKeyPath( HKEY_LOCAL_MACHINE, "SOFTWARE\Mindscape\[AbbreviatedName]" );
  400.      END REGISTRY
  401.    EndAppendFile
  402. EndProcedure
  403.  
  404. ;;------------------------- END APPEND REGISTRY UNINSTALL SCRIPT ----------------------------
  405.  
  406. Procedure RunRegistry
  407.    Do AppendRegistryInstallScript
  408.    Run [InstallationDirectory]\REGISTRY.EXE [InstallationDirectory]\[RegistryFileName]
  409.    DeleteFiles from [InstallationDirectory]
  410.      [RegistryFileName]
  411.    EndDeleteFiles
  412.    Do AppendRegistryUninstallScript
  413. EndProcedure
  414.  
  415.  
  416. Procedure WhichWindows
  417.    If WIN32
  418.       If WindowsVersion >= 3.95
  419.      [IsWin95] := Y
  420.       Else
  421.      If WindowsVersion >= 3.10
  422.        [IsWinNT] := Y
  423.        [IsWin95] := N ;; Windows NT 3.50 or greater ONLY!!!
  424.      EndIf
  425.       Endif
  426.    Else
  427.     [IsWin95] := N   ;; Win31
  428.    EndIf
  429. EndProcedure
  430.  
  431. Procedure DisplayLogo
  432.  [Number6] := (MaxX - 640)/2
  433.  [Number7] := (MaxY - 480)/2
  434.  
  435.  If MaxY > 480
  436.     [Number7] := [Number7] -22  ;; try to match bmp placement to autoruns.
  437.  EndIf
  438.  
  439.  If FileExists [InstallFromDrive]:\[RootDir][SetupDir]\[BitmapName]
  440.     SetBackgroundColor 0 0 0 0 0 0 ;; set to Black
  441.     LoadBitmap 1 [InstallFromDrive]:\[RootDir][SetupDir]\[BitmapName]
  442.     ShowBitmap 1 @xy([Number6],[Number7])
  443.  Else
  444.     SetBackgroundColor 0 0 64 0 0 255
  445.  EndIf
  446.  ShowWindow Maximize
  447. EndProcedure
  448.  
  449. Procedure PromptInstallDir
  450.  
  451.    If [Minimum]
  452.       [CurrentInstallOpt] := Minimum
  453.       [FileSetSize] := [MinimumSize] 
  454.    EndIf
  455.  
  456.    If [Normal]
  457.       [CurrentInstallOpt] := Normal
  458.       [FileSetSize] := [NormalSize] 
  459.    EndIf
  460.  
  461.    If [Maximum]
  462.       [CurrentInstallOpt] := Maximum
  463.       [FileSetSize] := [MaximumSize]
  464.    EndIf
  465.  
  466.    If [IsWin95] 
  467.       [FileSetSize] := [FileSetSize] + [Uninstall32Size] + [VFWSize]
  468.    Else
  469.       [FileSetSize] := [FileSetSize] + [Uninstall16Size] + [VFWSize]
  470.    EndIf
  471.  
  472.  
  473.    :Again
  474.  
  475.    If [IsWin95]
  476.       [String10] := C:\Program Files
  477.       LFNGetShortPathName [String10] [String12]
  478.       If DirectoryExists [String12]
  479.      [String10] := C:\[DefaultDestDir95]
  480.       Else
  481.      [String10] := C:\[ProductName]
  482.       EndIf
  483.  
  484.       Do PromptWin95InstallDlg
  485.  
  486.       TextBox BlackOnLightGray
  487.           Please wait...
  488.       EndTextBox
  489.    Else
  490.       [String10] := C:\[DefaultDestDir]
  491.       Do PromptInstallDlg
  492.    EndIf
  493.  
  494.    If [Continue] = 1011
  495.      GoTo EXIT
  496.    EndIf
  497.  
  498. ;;Filter the user entry for errors
  499.    [Number10] := LengthOf [String10]
  500.    [String11] := SubstringOf [String10] from 1 to 1
  501.  
  502.    If [Number10] > 128  ;; Make sure directory not larger than 128 characters.
  503.       GoTo Again
  504.    EndIf
  505.  
  506.    If [Number10] < 3
  507.       GoTo Again
  508.    EndIf
  509.  
  510.    If [String10] = BlankString
  511.       GoTo Again
  512.    EndIf
  513.  
  514.    If DriveIsPresent [String11]
  515.    Else
  516.       GoTo Again
  517.    EndIf
  518.  
  519.    If [String10] =  [WindowsDirectory]
  520.       Do NoWindowsDirectoryDlg
  521.       GoTo Again
  522.    EndIf
  523.  
  524.    If [String10] =  [WindowsSystemDirectory]
  525.       Do NoWindowsDirectoryDlg
  526.       GoTo Again
  527.    EndIf
  528.  
  529.    If DriveIsBernoulli [String11]
  530.       GoTo Again
  531.    EndIf
  532.    If DriveIsCDROM [String11]
  533.       GoTo Again
  534.    EndIf
  535.    If DriveIsRAM [String11]
  536.       GoTo Again
  537.    EndIf
  538.    If DriveIsRemote [String11]
  539.       GoTo Again
  540.    EndIf
  541.    If DriveIsRemoveable [String11]
  542.       GoTo Again
  543.    EndIf
  544.  
  545.    [String11] := SubstringOf [String10] from 2 to 3
  546.    If [String11] <> :\
  547.       GoTo Again
  548.    EndIf
  549.  
  550.    Do NoInstallToRoot
  551.    If [Root]
  552.       [Root] := N
  553.       GoTo Again
  554.    EndIf  
  555.  
  556.    [InstallationDirectory] := SubstringOf [String10] from Beginning to [Number10]
  557. EndProcedure
  558.  
  559. Procedure NoWindowsDirectoryDlg
  560.    Dialog 
  561.      This install does not allow installation to the Windows directory.
  562.      Please select another location.
  563.    EndDialog
  564. EndProcedure
  565.  
  566. Procedure PromptInstallDlg
  567.    DialogBox 182 108 UseHeader "[ProductName]" Returns [Continue] BlackOnLightGray ModalFrame
  568.       Font "Helv" 10
  569.       GroupBox @xy(4,3) 174 60 ""
  570.       LText @xy( 6, 10) 170 20 "Please choose an installation directory on a fixed drive (example: C: or D: drive)."
  571.       LText @xy( 6,30) 170 30 "Type in your choice below and select `OK' to install, or `Exit' to exit the installation now."
  572.       EditText @xy( 7,69) 168 12 Uses [String10] Border UpperCase
  573.       DefPushButton @xy(23,87) 40 16 [YES_text] 1012
  574.       PushButton @xy(119,87) 40 16 [EXIT_text] 1011
  575.    EndDialogBox
  576. EndProcedure
  577.  
  578. Procedure PromptWin95InstallDlg
  579.    DialogBox 182 108 UseHeader "[ProductName]" Returns [Continue] BlackOnLightGray ModalFrame
  580.       Font "Helv" 10
  581.       GroupBox @xy(4,3) 174 60 ""
  582.       LText @xy( 6, 10) 170 20 "Please choose an installation directory on a fixed drive (example: C: or D: drive)."
  583.       LText @xy( 6,32) 170 30 "Type in your choice below and select `OK' to install, or `Exit' to exit the installation now."
  584.       EditText @xy( 7,69) 168 12 Uses [String10] Border
  585.       DefPushButton @xy(23,87) 40 16 [YES_text] 1012
  586.       PushButton @xy(119,87) 40 16 [EXIT_text] 1011
  587.    EndDialogBox
  588. EndProcedure
  589.  
  590.  
  591. Procedure PromptForOptsDlgBox
  592.  
  593.   [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  594.   [String2] := FreeSpaceOnDrive [String1]
  595.   [String3] := [FileSetSize] bytes of free disk space required for installation!
  596.   [String4] := There is currently [String2] bytes of space available on drive [String1]:.
  597.   [String6] := There is not enough free disk space for the selected '[CurrentInstallOpt]' option.
  598.   [String7] := Click 'Select Option' to choose another install option.  Click 'Select Drive' to keep the current option and choose another hard drive.  Click 'Exit' to exit the installation now.
  599.  
  600.    DialogBox 200 140 UseHeader "Not Enough Disk Space" Returns [Continue] BlackOnLightGray ModalFrame
  601.       Font "Helv" 10
  602.       LText @xy( 5, 10) 195 20 [String6]
  603.       LText @xy( 5, 35) 195 50 [String3]
  604.       LText @xy( 5, 50) 195 80 [String4]      
  605.       LText @xy( 5, 70) 195 100 [String7]
  606.       DefPushButton @xy(7,110) 48 16 "Select Option" 1012
  607.       PushButton @xy(76,110) 48 16 "Select Drive" 1023
  608.       PushButton @xy(145,110) 48 16 [EXIT_text] 1011
  609.    EndDialogBox
  610. EndProcedure
  611.  
  612. Procedure CreateProgramGroup
  613.  
  614.    If [IsWin95]
  615.       [String1] := [WindowsDirectory]\Start Menu\Programs\[ProgGrpName]
  616.        LFNGetShortPathName [String1] [String2] 
  617.        If [String2] <> BlankString
  618.      If DirectoryExists [String2]
  619.         ProgramManagerDDE
  620.            DeleteGroup([ProgGrpName])
  621.         EndProgramManagerDDE
  622.      EndIf
  623.        EndIf
  624.     Else
  625.        ProgramManagerDDE
  626.      DeleteGroup([ProgGrpName])
  627.        EndProgramManagerDDE
  628.     EndIf
  629.  
  630.  
  631.     If [IsWin95]
  632.         If [IsTheSky]
  633.             ProgramManagerDDE
  634.             CreateGroup([ProgGrpName])
  635.             AddItem([InstallFromDrive]:\[RootDir][MainExeName32],[ProductName])
  636.             AddItem([InstallationDirectory]\MSRUN.EXE LaunchRegistration,Register for Free Fonts!)
  637.             AddItem([InstallationDirectory]\THESKY\WS.EXE,TheSky Astronomy Shareware, [InstallationDirectory]\THESKY\WS.EXE,1)
  638.             AddItem([InstallationDirectory]\UNINST.EXE,Uninstall,[InstallationDirectory]\[UninstIconName])
  639.             EndProgramManagerDDE
  640.         Else
  641.             ProgramManagerDDE
  642.             CreateGroup([ProgGrpName])
  643.             AddItem([InstallFromDrive]:\[RootDir][MainExeName32],[ProductName])
  644.             AddItem([InstallationDirectory]\MSRUN.EXE LaunchRegistration,Register for Free Fonts!)
  645.             AddItem([InstallationDirectory]\UNINST.EXE,Uninstall,[InstallationDirectory]\[UninstIconName])
  646.             EndProgramManagerDDE
  647.         EndIf
  648.     Else
  649.         If [IsTheSky]
  650.             ProgramManagerDDE
  651.             CreateGroup([ProgGrpName])
  652.             AddItem([InstallationDirectory]\AUTORN16.EXE,[ProductName],[InstallationDirectory]\[IconName])
  653.             AddItem([InstallationDirectory]\MSRUN.EXE LaunchRegistration,Register for Free Fonts!)
  654.             AddItem([InstallationDirectory]\THESKY\WS.EXE,TheSky Astronomy Shareware, [InstallationDirectory]\THESKY\WS.EXE,1)
  655.             AddItem([InstallationDirectory]\UNINST.EXE,Uninstall,[InstallationDirectory]\[UninstIconName])
  656.             EndProgramManagerDDE
  657.         Else    
  658.             ProgramManagerDDE
  659.             CreateGroup([ProgGrpName])
  660.             AddItem([InstallationDirectory]\AUTORN16.EXE,[ProductName],[InstallationDirectory]\[IconName])
  661.             AddItem([InstallationDirectory]\MSRUN.EXE LaunchRegistration,Register for Free Fonts!)
  662.             AddItem([InstallationDirectory]\UNINST.EXE,Uninstall,[InstallationDirectory]\[UninstIconName])
  663.             EndProgramManagerDDE
  664.         EndIf    
  665.     EndIf
  666.  
  667. EndProcedure
  668.  
  669. Procedure NoInstallToRootDlg
  670.    Dialog
  671.       This install does not allow installation to the root of your hard drive.
  672.       Please select another location.
  673.    EndDialog
  674. EndProcedure
  675.  
  676. Procedure GetInstallOptions
  677.  
  678. :DoOptsAgain
  679.  
  680.   Do InstallOptions
  681.  
  682. :DoDirAgain
  683.  
  684.   Do PromptInstallDir
  685.  
  686.   Do CheckFreeSpace
  687.  
  688.   If [IsWin95]
  689.      Do ParseLFNDirectory
  690.      [InstallationDirectory] := [String1]
  691.      [DefaultDestDir95] := [String5]
  692.   EndIf
  693. EndProcedure
  694.  
  695. Procedure ParseLFNDirectory
  696. ;; [String1] = the SFN returned by LFNCreateDirectory
  697. ;; [String2] = the LFN full path (working parse buffer)
  698. ;; [String3] = the parsed single character, compared to '\'
  699. ;; [String4] = the '\' character, compared to [String3]
  700. ;; [String5] = a single LFN directory, parsed from [String2]
  701. ;; [String10] = the LFN full path (constant); converted to SFN form
  702.  
  703.    [String2] := [String10]
  704.    [String10] := BlankString
  705.    [Number1] := 1
  706.    [Number2] := LengthOf [String2]
  707.    [String4] := \
  708.    [YesOrNo5] := N
  709.  
  710.    Do ParseForIllegals
  711.  
  712.    [String3] := SubstringOf [String2] from [Number1] to [Number1]
  713.    :Continue
  714.    While "[String3]" <> "[String4]"
  715.       [Number1] := [Number1] + 1
  716.       If [Number1] > [Number2]
  717.          [YesOrNo5] := Y
  718.          GoTo Finished
  719.       EndIf
  720.       [String3] := SubstringOf [String2] from [Number1] to [Number1]
  721.    EndWhile
  722.    :Finished
  723.    [String3] := BlankString
  724.    [Number1] := [Number1] - 1
  725.    [String5] := SubstringOf [String2] from Beginning to [Number1]
  726.    [Number1] := [Number1] + 1
  727.    If [Number1] = 3   ;; If this the root, skip LFNCreateDirectory
  728.       GoTo Continue
  729.    EndIf
  730.    LFNGetShortPathName [String5] [String1]
  731.    If [String1] = BlankString
  732.       LFNCreateDirectory [String5] [String1]
  733.    EndIf
  734.    If [YesOrNo5]
  735.       GoTo ExitParseLFN
  736.    EndIf
  737.    GoTo Continue
  738.    :ExitParseLFN
  739.    [String10] := [String1]
  740. EndProcedure
  741.  
  742. ;; use this within ParseLFNDirectory, before creating any directories
  743. Procedure ParseForIllegals
  744.    [String6] := ?"/<>*|:
  745.    [Number3] := 1
  746.    [Number4] := LengthOf [String6]
  747.    [String7] := SubstringOf [String6] from [Number3] to [Number3]
  748.    :Scan
  749.    If [Number3] <= [Number4]
  750.       If [String2] Contains [String7]
  751.          [Number5] := PositionOf [String7] in [String2]
  752.          If [Number5] = 2 ;; If a drive letter colon
  753.             GoTo Ok
  754.          Else
  755.             GoTo DoDirAgain ;;In PromptInstallDir proc
  756.          EndIf
  757.       Else
  758.          :Ok
  759.          [Number3] := [Number3] + 1
  760.          [String7] := SubstringOf [String6] from [Number3] to [Number3]
  761.          GoTo Scan
  762.       EndIf
  763.    EndIf
  764. EndProcedure
  765.  
  766.  
  767. Procedure InstallOptions
  768.  
  769.   [Minimum] := N
  770.   [Normal]  := N
  771.   [Maximum] := N
  772.  
  773.   GetMenuChoice BlackOnLightGray (2*MaxX)/3 MaxY/2 Highlight 1 UseHeader "[ProductName]" BorDlg SysMenu
  774.      1. Minimum Install
  775.      ; Select this Install option to begin MINIMUM installation. 5 megabytes
  776.      ; of free hard disk space is required.
  777.      2. Normal Install
  778.      ; Select this Install option to begin NORMAL installation. 10 megabytes
  779.      ; of free hard disk space are required.
  780.      3. Maximum Install
  781.      ; Select this Install option to begin MAXIMUM installation. 25 megabytes
  782.      ; of free hard disk space are required.
  783.   EndGetMenuChoice
  784.  
  785.   InCase Choice is
  786.     =1: [Minimum] := Y
  787.  
  788.     =2: [Normal]  := Y
  789.  
  790.     =3: [Maximum] := Y
  791.   EndInCase
  792. EndProcedure
  793.  
  794. Procedure NotEnufFreeHDSpace
  795.  
  796.   Do PromptForOptsDlgBox
  797.  
  798.   If [Continue] = 1011
  799.      GoTo EXIT
  800.   EndIf
  801.   If [Continue] = 1012
  802.      GoTo DoOptsAgain
  803.   EndIf
  804.   If [Continue] = 1023
  805.      GoTo DoDirAgain
  806.   EndIf
  807.  
  808. EndProcedure
  809.  
  810.  
  811. Procedure CheckFreeSpace
  812.    If FreeSpaceOnDrive InstallationDrive < [FileSetSize]
  813.       Do NotEnufFreeHDSpace
  814.    EndIf
  815. EndProcedure
  816.  
  817. Procedure WriteInstallInfoToIni
  818.  
  819.    If [IsWin95]
  820.       [String1] := [ProductIniFile]
  821.    Else
  822.       [String1] := [ProductIniFile]
  823.    EndIf
  824.  
  825.    ClearArray [Array2]
  826.    [Array2][1] := Media
  827.    [Array2][2] := path
  828.    [Array2][4] := [WindowsDirectory]\[String1]
  829.    [Array2][3] := [InstallationDirectory]\media
  830.    WritePrivateProfileString Using [Array2] NoBackup
  831.  
  832.  
  833.    If [HaveRoot]
  834.       ClearArray [Array2]
  835.       [Array2][1] := Media
  836.       [Array2][2] := base
  837.       [Array2][4] := [WindowsDirectory]\[String1]
  838.       [Array2][3] := [InstallFromDrive]:[BaseDir]
  839.       WritePrivateProfileString Using [Array2] NoBackup
  840.    Else
  841.       If [IsWin95]
  842.       Else
  843.          ClearArray [Array2]
  844.          [Array2][1] := Media
  845.          [Array2][2] := base
  846.          [Array2][4] := [WindowsDirectory]\[String1]
  847.          [Array2][3] := [InstallFromDrive]:
  848.          WritePrivateProfileString Using [Array2] NoBackup
  849.       EndIf
  850.    Endif
  851.  
  852. EndProcedure
  853.  
  854. Procedure NoInstallToRoot
  855.    [String7] := [String10]
  856.    [String8] := SubstringOf [String7] from 1 to 2
  857.    If ([String7] = [String8]\)
  858.       Do NoInstallToRootDlg
  859.       [Root] := Y
  860.    EndIf
  861. EndProcedure
  862.  
  863. Procedure SignOff
  864.    Dialog BlackOnLightGray UseHeader "[ProductName]"
  865.       Installation is complete.
  866.    EndDialog
  867. EndProcedure
  868.  
  869. Procedure EditAutorunIni
  870.   ClearArray [Array1]
  871.   [Array1][1] := Instance
  872.   [Array1][2] := MSRegPath
  873.   [Array1][3] := BlankString
  874.   [Array1][4] := [InstallationDirectory]\AUTORUN.INI
  875.   WritePrivateProfileString Using [Array1] NoBackup
  876. EndProcedure
  877.  
  878. Procedure MindscapeIni
  879.     If FileExists [WindowsDirectory]\MINDSCPE.INI
  880.     Else
  881.     AppendFile [WindowsDirectory]\MINDSCPE.INI
  882.          ; ********Mindscape Product Ini File*********
  883.          ; ********Please do not modify.**************
  884.     EndAppendFile
  885.     EndIf
  886.  
  887.     ClearArray [Array1]
  888.     [Array1][1] := Mindscape
  889.     [Array1][2] := LastModified
  890.     [Array1][3] := SystemDate
  891.     [Array1][4] := [WindowsDirectory]\MINDSCPE.INI
  892.     WritePrivateProfileString Using [Array1] NoBackup
  893.  
  894.     ClearArray [Array1]
  895.     [Array1][1] := [ProductName]
  896.     [Array1][2] := Uninstall
  897.     [Array1][3] := [InstallationDirectory]
  898.     [Array1][4] := [WindowsDirectory]\[MindscapeIniFile]
  899.     WritePrivateProfileString Using [Array1] NoBackup
  900.  
  901.           If [IsWin95]
  902.        ClearArray [Array1]
  903.        [Array1][1] := [ProductName]
  904.        [Array1][2] := AppPath
  905.        [Array1][3] := [InstallFromDrive]:\[RootDir][MainExeName]
  906.        [Array1][4] := [WindowsDirectory]\[MindscapeIniFile]
  907.        WritePrivateProfileString Using [Array1] NoBackup
  908.        ClearArray [Array1]
  909.           Else
  910.        ClearArray [Array1]
  911.        [Array1][1] := [ProductName]
  912.        [Array1][2] := AppPath
  913.        [Array1][3] := [InstallationDirectory]\[MainExeName]
  914.        [Array1][4] := [WindowsDirectory]\[MindscapeIniFile]
  915.        WritePrivateProfileString Using [Array1] NoBackup
  916.        ClearArray [Array1]
  917.     Endif
  918.     [Array1][1] := [ProductName]
  919.     [Array1][2] := StartupDir
  920.     [Array1][3] := [InstallFromDrive]:\[RootDir]
  921.     [Array1][4] := [WindowsDirectory]\[MindscapeIniFile]
  922.     WritePrivateProfileString Using [Array1] NoBackup
  923. EndProcedure
  924.  
  925. Procedure InstallFonts
  926.    [String2] := [InstallFromDrive]:\[RootDir]\BIN
  927.    If [IsWin95]
  928.       [String3] := [WindowsDirectory]\FONTS
  929.       LFNGetShortPathName [String3] [String1]
  930.       If DirectoryExists [String1]
  931.       Else
  932.      [String1] := [WindowsSystemDirectory]
  933.       EndIf
  934.    Else
  935.       [String1] := [WindowsSystemDirectory]
  936.    EndIf
  937.  
  938.    If FileExists [String1]\palatino.ttf
  939.    Else
  940.       CopyFiles from [String2] to [String1] Quietly
  941.      palatino.ttf
  942.       EndCopyFiles
  943.    EndIf
  944.  
  945.    If FileExists [String1]\palatib.ttf
  946.    Else
  947.       CopyFiles from [String2] to [String1] Quietly
  948.      palatib.ttf
  949.       EndCopyFiles
  950.    EndIf
  951.    If FileExists [String1]\palatii.ttf
  952.    Else
  953.       CopyFiles from [String2] to [String1] Quietly
  954.      palatii.ttf
  955.       EndCopyFiles
  956.    EndIf
  957.    If FileExists [String1]\palatbi.ttf
  958.    Else
  959.       CopyFiles from [String2] to [String1] Quietly
  960.      palatbi.ttf
  961.       EndCopyFiles
  962.    EndIf
  963.  
  964.    [Number1] := AddFontResource [String1]\palatino.ttf
  965.    [Number1] := AddFontResource [String1]\palatib.ttf
  966.    [Number1] := AddFontResource [String1]\palatii.ttf
  967.    [Number1] := AddFontResource [String1]\palatbi.ttf  
  968. EndProcedure
  969.  
  970. Procedure VFWCheck
  971.  
  972.    ClearArray [Array1]
  973.    [Array1][1] := mci
  974.    [Array1][2] := avivideo
  975.    [Array1][3] := missing.fil
  976.    [Array1][4] := [WindowsDirectory]\SYSTEM.INI
  977.    GetPrivateProfileString Using [Array1]
  978.  
  979.    [String1] := [Array1][5]
  980.    If FileExists [WindowsSystemDirectory]\[String1]
  981.       If [String1] = mciavi.drv 
  982.      [String2] := FileVersionOf [WindowsSystemDirectory]\MCIAVI.DRV
  983.      If [String2] < [VFWmciaviFileVer]
  984.         Do AskForVFW
  985.      EndIf
  986.       EndIf
  987.    Else
  988.       Do AskForVFW
  989.    EndIf
  990. EndProcedure 
  991.  
  992. Procedure AskForVFW
  993.    DialogBox 248 92 UseHeader "[ProductName]" Returns [Number1] BlackOnLightGray ModalFrame
  994.       GroupBox        @xy(4,2) 240 48 ""
  995.       LText @xy( 8, 8) 234 8 "The Universe Beyond requires the installation of Microsoft Video"
  996.       LText @xy( 8,16) 234 8 "for Windows for proper operation. If you wish to install Video for"
  997.       LText @xy( 8,24) 234 8 "Windows now, click the 'Install' button, otherwise, click the "
  998.       LText @xy( 8,32) 234 8 "'Cancel' button. You may install Video for Windows later by"
  999.       LText @xy( 8,40) 234 8 "running this installation program again."
  1000.       DefPushButton @xy( 29, 60) 46 16 "Install" 1014
  1001.       DefPushButton @xy(165, 60) 46 16 "Cancel" 1013
  1002.    EndDialogBox
  1003.  
  1004.    If [Number1] = 1014    
  1005.       ChangeDirectoryTo [InstallFromDrive]:\[RootDir]VFW11E
  1006.       ClearScreen
  1007.       Run [InstallFromDrive]:\[RootDir]VFW11E\VFWSETUP NoPrompt
  1008.    EndIf
  1009. EndProcedure
  1010.  
  1011. Procedure AskForTheSky
  1012.    DialogBox 248 92 UseHeader "[ProductName]" Returns [Number1] BlackOnLightGray ModalFrame
  1013.       GroupBox        @xy(4,2) 240 48 ""
  1014.       LText @xy( 8, 8) 234 8 "The Universe Beyond can optionally setup TheSky Astronomy software."
  1015.       LText @xy( 8,16) 234 8 "If you wish to install TheSky now, click the 'Install' button, or, click"
  1016.       LText @xy( 8,24) 234 8 "the 'Skip' button. You may install TheSky later by running this install"
  1017.       LText @xy( 8,32) 234 8 "program again.  This program requires an additional 6MB of disk space."
  1018.       DefPushButton @xy( 29, 60) 46 16 "Install" 1014
  1019.       DefPushButton @xy(165, 60) 46 16 "Skip" 1013
  1020.    EndDialogBox
  1021.  
  1022.    If [Number1] = 1014    
  1023.         [IsTheSky] := Y
  1024.         ClearScreen
  1025.         SetCopyAttrTo 00
  1026.         
  1027.         If DirectoryExists [InstallationDirectory]\THESKY\BMP
  1028.            DeleteFiles from [InstallationDirectory]\THESKY\BMP
  1029.              *.*
  1030.            EndDeleteFiles
  1031.         EndIf
  1032.  
  1033.         If DirectoryExists [InstallationDirectory]\THESKY\DATA
  1034.            DeleteFiles from [InstallationDirectory]\THESKY\DATA
  1035.              *.*
  1036.            EndDeleteFiles
  1037.         EndIf
  1038.  
  1039.         If DirectoryExists [InstallationDirectory]\THESKY\HELP
  1040.            DeleteFiles from [InstallationDirectory]\THESKY\HELP
  1041.              *.*
  1042.            EndDeleteFiles
  1043.         EndIf
  1044.  
  1045.         If DirectoryExists [InstallationDirectory]\THESKY
  1046.            DeleteFiles from [InstallationDirectory]\THESKY
  1047.              *.*
  1048.            EndDeleteFiles
  1049.         EndIf
  1050.  
  1051.         CopyFiles from [InstallFromDrive]:\[RootDir]THESKY to [InstallationDirectory]\THESKY [TheSkyRoot]
  1052.         WS.EXE
  1053.         WSTOOLS.EXE
  1054.         MINORPL.SKY
  1055.         COMETS.SKY
  1056.         SYSTEMW.SKY
  1057.         OPTIONSW.SKY
  1058.         TDDLL.DLL
  1059.         TRAILS.SKY
  1060.         SS.DLL
  1061.         SCOPE.DLL
  1062.         SDDLL.DLL
  1063.         SFACCESS.DLL
  1064.         SFMANAGE.DLL
  1065.         SFSMPCNV.DLL
  1066.         P3CONV.DLL
  1067.         P3DISP.DLL
  1068.         P3EDIT.DLL
  1069.         P3FILE.DLL
  1070.         P3INFO.DLL
  1071.         IMGBMP.DIL
  1072.         IMGGIF.DIL
  1073.         PICTURES.SKY
  1074.         PLANETSW.SKY
  1075.         IMAGEMAN.DLL
  1076.         LABELSW.SKY
  1077.         MNCP.DLL
  1078.         MUSCROLL.DLL
  1079.         NGCDESC.SKY
  1080.         ECLIPTIC.SKY
  1081.         EVENTS.SKY
  1082.         EYEPIECE.SKY
  1083.         CBOUNDW.SKY
  1084.         CONSTLW.SKY
  1085.         ASTEROID.SKY
  1086.         STARTUP.SAV
  1087.         USA.LOC
  1088.         NONUSA.LOC
  1089.         GERMAN.LOC
  1090.         TTY.DLL
  1091.         ATAN2.TXT
  1092.         SKYW.INI
  1093.         DEBUG.TXT
  1094.         EndCopyFIles
  1095.  
  1096.         CopyFiles from [InstallFromDrive]:\[RootDir]THESKY\BMP to [InstallationDirectory]\THESKY\BMP [TheSkyBmp]
  1097.         APOLLOA.GIF
  1098.         EARTH.GIF
  1099.         JUPITER.GIF
  1100.         JUPITERB.GIF
  1101.         MARS.GIF
  1102.         MERCURY.GIF
  1103.         MOON.GIF
  1104.         MOONA.GIF
  1105.         MOONB.GIF
  1106.         MOONC.GIF
  1107.         MOOND.GIF
  1108.         MOONE.GIF
  1109.         MOONF.GIF
  1110.         MOONG.GIF
  1111.         MOONH.GIF
  1112.         MOONI.GIF
  1113.         MOONJ.GIF
  1114.         NEPTUNE.GIF
  1115.         NGC0104.GIF
  1116.         NGC0224.GIF
  1117.         NGC0253.GIF
  1118.         NGC0598.GIF
  1119.         NGC0869.GIF
  1120.         NGC1300.GIF
  1121.         NGC1432.GIF
  1122.         NGC1952.GIF
  1123.         NGC1976.GIF
  1124.         NGC2070.GIF
  1125.         NGC2237.GIF
  1126.         NGC2403.GIF
  1127.         NGC2682.GIF
  1128.         NGC2683.GIF
  1129.         NGC2841.GIF
  1130.         NGC2903.GIF
  1131.         NGC3034.GIF
  1132.         NGC3077.GIF
  1133.         NGC3372.GIF
  1134.         NGC3718.GIF
  1135.         NGC4038.GIF
  1136.         NGC4258.GIF
  1137.         NGC4314.GIF
  1138.         NGC4374.GIF
  1139.         NGC4486.GIF
  1140.         NGC4501.GIF
  1141.         NGC4565.GIF
  1142.         NGC4594.GIF
  1143.         NGC4603.GIF
  1144.         NGC4622.GIF
  1145.         NGC4736.GIF
  1146.         NGC4826.GIF
  1147.         NGC5055.GIF
  1148.         NGC5128.GIF
  1149.         NGC5194.GIF
  1150.         NGC5236.GIF
  1151.         NGC5364.GIF
  1152.         NGC5457.GIF
  1153.         NGC5907.GIF
  1154.         NGC5985.GIF
  1155.         NGC6205.GIF
  1156.         NGC6302.GIF
  1157.         NGC6341.GIF
  1158.         NGC6514.GIF
  1159.         NGC6523.GIF
  1160.         NGC6611.GIF
  1161.         NGC6618.GIF
  1162.         NGC6720.GIF
  1163.         NGC6744.GIF
  1164.         NGC6853.GIF
  1165.         NGC6960.GIF
  1166.         NGC6992.GIF
  1167.         NGC7293.GIF
  1168.         NGC7635.GIF
  1169.         SATURN.GIF
  1170.         SUN.GIF
  1171.         URANUS.GIF
  1172.         VENUS.GIF
  1173.         EndCopyFIles
  1174.  
  1175.         CopyFiles from [InstallFromDrive]:\[RootDir]THESKY\DATA to [InstallationDirectory]\THESKY\DATA [TheSkyData]
  1176.         CATSRCH.IDX
  1177.         EXTLAB.IDX
  1178.         GCVSTOBO.IDX
  1179.         ICTOBO.IDX
  1180.         ICTOPGC.IDX
  1181.         NGCTOBO.IDX
  1182.         NGCTOPGC.IDX
  1183.         NSVTOBO.IDX
  1184.         PLNTOBO.IDX
  1185.         SAOTOB.IDX
  1186.         UGCTOPGC.IDX
  1187.         LARGEMID.INF
  1188.         LARGENOR.INF
  1189.         LARGESOU.INF
  1190.         NONSTMID.INF
  1191.         NONSTNOR.INF
  1192.         NONSTSOU.INF
  1193.         STERGSC.INF
  1194.         LARGEMID.PLT
  1195.         LARGENOR.PLT
  1196.         LARGESOU.PLT
  1197.         NONSTMID.PLT
  1198.         NONSTNOR.PLT
  1199.         NONSTSOU.PLT
  1200.         STERGSC.PLT
  1201.         STERNST.PLT
  1202.         GCVS2.TXT
  1203.         IC2.TXT
  1204.         NGC2.TXT
  1205.         PGC.TXT
  1206.         PLN.TXT
  1207.         SPECTRAL.TXT
  1208.         WDS2.TXT
  1209.         EndCopyFIles
  1210.  
  1211.         CopyFiles from [InstallFromDrive]:\[RootDir]THESKY\HELP to [InstallationDirectory]\THESKY\HELP [TheSkyHelp]
  1212.         SKYHELP.HLP
  1213.         EndCopyFIles
  1214.  
  1215.    EndIf
  1216. EndProcedure
  1217.  
  1218. Procedure DDENonFatalErrorTrap
  1219. ;; Trap the dde error for ReplaceItem.
  1220. ;; See Simple.Stf for more information on how to
  1221. ;; use ProgramManager's DDENonFatalErrorTrap.
  1222. EndProcedure
  1223. EndScript
  1224.